A. Field of the Invention
This invention relates to the subject of mobile Internet Protocol (xe2x80x9cIPxe2x80x9d) data networking.
B. Description of Related Art
Public packet switched networks can be used to carry traffic to and from a mobile communications device, such as a laptop computer or personal digital assistant equipped with a cellular telephone modem. The basic architecture of mobile IP data networking is known in the art and described in several publications, including the Request for Comments document RFC 2002 (1996) and in the textbook of Charles E. Perkins, Mobile IP Design Principles and Practices, Addison-Wesley Wireless Communications Series (1998), both of which are fully incorporated by reference herein. Persons skilled in the art of mobile IP data networking are familiar with the contents of both of these documents and the devices used to implement mobile IP data networking in practice.
Basically, and with reference to FIG. 1, in Mobile IP communication, a wireless mobile node 10 communicates with a target host 12 on an IP network 14 by means of two devices, a xe2x80x9cforeign agentxe2x80x9d 16 and a xe2x80x9chome agentxe2x80x9d 18. Typically, foreign agent functionality is incorporated into a router or network access server chassis located on a mobile node""s visited network 20. A radio access network linking the mobile node to the foreign agent 16 is not shown for purposes of simplicity in the present discussion. The foreign agent 16 provides routing services for the mobile node while it is registered with the home agent 18. The foreign agent 16 de-tunnels and delivers datagrams to the mobile node 10 that were tunneled by the mobile node""s home agent 18. In the present specification, the term xe2x80x9ctunnelingxe2x80x9d refers to packet re-addressing, such as performed by the home agent.
The traffic exchanged between the foreign agent 16 and the home agent 18 includes control traffic 22, e.g., registration request and registration reply messages and session control messages, and data traffic 24. The control traffic 22 terminates at the home agent. The data traffic 24 is routed from the mobile node""s home network 26 to a second network 14 for delivery to the target host. The target host could be connected to the home network by any arbitrary number of intermediate IP networks, or could be on the mobile node""s home network 26.
The home agent 18 is typically implemented in a router on a mobile node""s home network 26. The home agent maintains current location information for the mobile node, through a variety of possible mechanisms, such as described in the patent application of Richard J. Dynarski, et al., xe2x80x9cDynamic Allocation of Wireless Mobile Nodes Over an Internet Protocol (IP) Networkxe2x80x9d, Ser. No. 09/233,381, which is incorporated by reference herein. When one or more home agents are handling calls for multiple mobile nodes simultaneously, the home agent(s) are providing, in essence, a service analogous to virtual private network services. Each mobile node is typically associated with a separate home network and the routing path from that home network, through the home agent, to the foreign agent and mobile node is like a virtual private network for the mobile node.
Thus, from the above discussion, it can be seen that the home agent performs two separate and distinct tasks for the foreign agent and mobile node. First, the home agent 18 must perform an authentication and registration process to determine whether the mobile node is authorized to access the home network 26. This may involve checking the identification of the mobile node (such as, through use of the mobile node""s unique serial number or manufacturing number), password authentication, and possibly checking that the mobile node""s account is current and paid in full. The home agent registration and authentication functions may be performed in conjunction with, or with the assistance of, a second device, such as an authentication, authorization and accounting server such as a RADIUS server. See the patent application of Yingchun Xu, Ser. No. 08/887,313 filed Jul. 3, 1997 for further details.
Second, the home agent 18 has to tunnel data from the target host to the foreign agent, and provide tunneling services in the reverse direction, i.e., provide packet re-addressing for traffic from the foreign agent to the host 12. To coordinate tunneling in the reverse direction, the home agent provides a forwarding xe2x80x9ccare/ofxe2x80x9d address to the foreign agent to tell the foreign agent 16 where to tunnel traffic from the mobile node so that it can be sent to the host. This forwarding address is typically contained in a registration reply message sent to the foreign agent notifying the foreign agent that the mobile node is authenticated to communicate in the home network. In the prior art, the home agent is also the device that receives the tunneled traffic from the foreign agent for routing onto the home network, and therefore the forwarding address is the home agent""s IP address.
The foreign agent also has to perform two distinct tasks for the mobile node, similar to that of the home agent. First, the foreign agent has to handle the registration and session control aspects for the mobile node, including sending registration request messages to the home agent and processing a registration reply message. Second, the foreign agent has tunneling responsibilities for forwarding data packets to the home agent for ultimate distribution to the destination, and de-tunneling data from the home agent and forwarding the data to the mobile node.
Information regarding active mobile nodes, such as the home agent IP address, the foreign agent care of address, and information uniquely identifying the mobile node (such as the serial number or International Mobile Subscriber Identity (IMSI)) number are stored in memory in the form of a mobility binding record. Mobility binding records are maintained by the foreign agent for the mobile nodes that it has established connections with, and by home agents for currently registered and active mobile nodes belonging to the home agent.
The patent application of Yingchun Xu, et al., entitled MOBILE INTERNET PROTOCOL (IP) NETWORKING WITH HOME AGENT AND/OR FOREIGN AGENT FUNCTIONS DISTRIBUTED AMONG MULTIPLE DEVICES, Ser. No. 09/354,659 filed Jul. 16, 1999, describes a mobile IP system in which the functions of the home agent are divided between two separate devices: a home registration agent (e.g., router) performing the registration functions of a home agent, and a home tunneling agent (e.g., another router) which performs the tunneling function. The Xu et al. ""659 application is also fully incorporated by reference herein.
The situation may arise in which a source of data has data to send to a mobile node and thus initiates the communication with the mobile node. If the mobile node subscribes to the Wireless Application Protocol (WAP) push service, it receives IP data from the network. However, once the mobile station transitions to an idle state and disconnects itself from the foreign agent and the network, data cannot be forwarded (i.e. xe2x80x9cpushedxe2x80x9d, as the term is known in the art) from a WAP server. The reason is that, using known prior art techniques, there is no longer information about the mobile node available anywhere in the network. More specifically, when the mobile station transitions to an idle state and disconnects, the mobility binding record for the mobile node stored in the home agent, for example, is deleted.
The present invention overcomes this problem and provides a method and system by which xe2x80x9cpushxe2x80x9d service for mobile nodes can be implemented for mobile nodes that have undergone a transition to an idle state. As such, it represents a substantial improvement in wireless networking.
In a first aspect, a method is provided for forwarding data from a source of the data to an idle mobile node. The method is performed in a wireless networking system having a home agent for the mobile node and a foreign agent. Data originating from the source is transmitted along one or more intermediate networks to a home agent for the mobile node. A foreign agent with which the mobile node last initiated a connection is then identified. In a preferred embodiment, this step is performed by reference to an mobility binding record database, which contains records for a plurality of idle mobile wireless nodes and associates each of the nodes in the database with the last foreign agent the mobile node was connected to. When the foreign agent is identified, a page request is transmitted to the foreign agent. The foreign agent responsively initiates a page of the mobile node via a wireless network. The mobile node responds to the page by dialing in to the foreign agent and proceeds with a registration process. As such, the mobile node changes state from an idle state to an active state.
When the mobile node has been registered with the home agent and foreign agent, an address associated with the foreign agent is transmitted to the home agent. The address allows the home agent to tunnel the data it received from the source of data to the foreign agent using mobile IP principles described in RFC 2002. Thus, the home agent forwards the data to the foreign agent for transmission to the mobile node.
In the event that the mobile does not respond to the page within a specified period of time (usually due to the mobile being in a power off state), the push service is deemed to have been unsuccessful. The home agent will queue some or all of the data it has to forward to the mobile node for transmission the next time the mobile node connects to the network. If only some portion of the data is queued, the rest of the data is deleted.
The mobility binding record database associates unique information identifying the idle mobile node with the foreign agent with which the mobile node last initiated a connection. The unique information be an International Mobile Subscriber Identity (IMSI) number. The record for the mobile node will also preferably include a home Internet Protocol (IP) address, and a user name, as well as the IP address of the last foreign agent with which the idle mobile node established a PPP connection.
In another aspect of the invention, a home agent control node functioning as a home registration agent is used in the method. The home agent control node can be a general purpose computing device, router, or other element of a communications network that performs the simple functions described herein. For example, the home agent control node may contain a software program causing it to perform registration functions for the mobile node in accordance with RFC 2002 (either alone or perhaps with the assistance of an Accounting Authentication and Authorization server, such as a RADIUS server). Further, the home agent control node may contain the mobility binding record database and perform the function of identifying the last foreign agent connected to the idle mobile node based on the mobile node""s IMSI number. In the preferred embodiment, the home agent control node maintains a mobility binding record for all mobiles, both active and inactive, and does not delete the mobility binding records when the mobiles become inactive. It maintains in the database the IMSI number of the mobile, its home IP address, and the IP address of the last foreign agent that the mobile node was connected to.
When the home agent receives the data from the source (e.g., WAP push server), it checks in its mobility binding record to see if the mobile node is currently registered and active. When it determines that the mobile is inactive, the home agent sends a received data indication message to the home agent control node. Upon receipt of a received data indication message, the home agent control node responsively refers to the mobility binding record for idle mobile nodes to identify the foreign agent with which the idle mobile node last initiated a connection. The home agent control node sends a paging request message to the identified foreign agent to cause it to page the mobile node. When the mobile node responds to the page it reestablishes a connection with said foreign agent and, after registration, may receive the data from the home agent using known mobile IP tunneling techniques.
In still another aspect, we have invented a computer-readable storage medium that stores a mobility binding record database for multiple mobile nodes that have undergone a transition to an idle state. The database comprises a plurality of records associated with a plurality of idle mobile nodes. Each of the records comprises fields containing: (1) information uniquely identifying a idle mobile node, such as the mobile nodes IMSI or ESN (Electronic Serial Number) number; (2) a home Internet Protocol address for the idle mobile node; and (3) an address of a foreign agent with which the idle mobile node was last connected. The foreign agent addresses are updated as the mobile node moves in the wireless network and reestablishes connections with new foreign agents, as described in further below. The utility of the database is that it can be stored in and implemented by a home agent or home agent control node to identify a foreign agent which should page the mobile node and thereby initiate a push to idle type of service. In a preferred embodiment, the record for the mobile nodes further includes a user name. The user name facilitates identification of different user sessions that might have been initiated by the same mobile node.
These and other features of the invention will be explained further in the following description of a presently preferred implementation of the invention.